package com.wlc.base.scanner;


import java.util.Scanner;

/**
 * @author 王立朝 wanglichao@champion-credit.com
 * @description Scanner
 * @date 2021-06-20 16:20
 */
public class ScannerDemo {

    /**
     * 使用Scanner对象接收数据，并打印出来内容
     */
    public void method1() {
        // 创建一个扫描器对象，用于接收键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容：");
        // 判断用户有没有输入字符串
        if (scanner.hasNext()) {
            // 使用next() 方法接收
            // 注意： 如果输入的有空格，会把空格后面的省略掉
            String next = scanner.next();
            System.out.println("内容为：" + next);
        }

        Scanner scanner2 = new Scanner(System.in);
        System.out.println("请输入内容：");
        if (scanner2.hasNext()) {
            // 使用next() 方法接收
            String next = scanner2.nextLine();
            System.out.println("使用nextLine接收到的内容为：" + next);
        }
        scanner.close();
        scanner2.close();

    }

    /**
     * Scanner的应用: 判断输入的是整数还是小数
     */
    public void method2() {
        Scanner sc = new Scanner(System.in);
        int a = 0;
        float f = 0.0f;
        System.out.println("请输入整数");

        if (sc.hasNextInt()) {
            System.out.println("输入的是整数" + sc.nextInt());
        } else {
            System.out.println("输入的不是整数！");
        }
        System.out.println("请输入小数");

        if (sc.hasNextFloat()) {
            System.out.println("输入的是小数" + sc.nextFloat());
        } else {
            System.out.println("输入的不是小数！");
        }
        sc.close();
    }


    /**
     * 输入数字，计算出输入的这些数字的总和以及平均数
     */
    public void method3() {
        double sum = 0;
        int n = 0;
        // 定义一个Scanner对象，用于接收键盘的内容
        Scanner scanner = new Scanner(System.in);
        // 当还有数字的时候，继续循环；否则不是数字的时候，就结束循环
        System.out.println("请输入数字：");
        while (scanner.hasNextDouble()) {
            // 接收输入的内容
            double nextDouble = scanner.nextDouble();
            // 当前输入的值相加
            sum = sum + nextDouble;
            // 统计数字的总个数
            n++;
            System.out.println("当前为第：" + n + "个数字");
        }
        System.out.println("和为：" + sum);
        System.out.println("平均数为： " + sum / n);
        scanner.close();
    }


    public static void main(String[] args) {
        ScannerDemo demo = new ScannerDemo();
        demo.method3();
    }

}
